sort()可以將列表中的元素由小排序到大,對於純數值列表與純英文字串列表有很好的分群效果
範例輸入1.1
a=[3,1,2]
a.sort()
b=['b','c','a']
b.sort()
print(f'a={a}')
print(f'b={b}')
範例輸出1.1
a=[1, 2, 3]
b=['a', 'b', 'c']
在排序字串列表時,順序為負數(字串型別)->零(字串型別)->正數(字串型別)->大寫英文字母(由A到Z排序)->小寫英文字母(由a到z排序)
範例輸入1.2
a=['1','a','-1','A']
a.sort()
print(f'a={a}')
範例輸出1.2
a=['-1', '1', 'A', 'a']
上述的內容皆是由小排序至大(預設),sort()也允許由大排序至小,只需在函式後方增加參數reverse=True
即可
範例輸入1.3
a=[1,3,2]
a.sort()
print(f'a={a}')
a.sort(reverse=True)
print(f'reverse_a={a}')
範例輸出1.3
a=[1, 2, 3]
reverse_a=[3, 2, 1]
上面的程式碼第一個是由小到大的結果
第二個是由大到小排序過後的結果
值得注意的是
經sort()排序後原列表中的元素順序將被永久更改
如果希望保留原列表,可以使用sorted()
我們可以使用sorted()產生新串列來儲存排序結果,其排序規則與sort()相同
範例輸入2.1
a=[3,1,2]
b=sorted(a)
print(f'a={a}')
print(f'b={b}')
範例輸出2.1
a=[3, 1, 2]
b=[1, 2, 3]
上面的程式碼第一個是原來的列表順序
第二個是排序過後的新列表
原先的列表並不會被改變
sorted()同樣也允許由大排序至小,只需在函式後方增加參數reverse=True
即可,這裡就不再多做贅述